package com.wargameproject;

public class PartieCaptureDrapeau extends Partie{

	public PartieCaptureDrapeau(int numeroRaceJoueur1, int numeroRaceJoueur2,
			int carte) {
		super(numeroRaceJoueur1, numeroRaceJoueur2, carte);
	}

	public boolean finDePartie() {
		boolean finDePartie = false;
		for (int i = 0; i < map.nbLignes; i++) {
			for (int j = 0; j < map.nbColonnes; j++) {
				if (map.cases[i][j].presenceBase() && !map.cases[i][j].terrain.estAquatique) {
					if (map.cases[i][j].base.joueur == joueurCourant && map.cases[i][j].presenceDrapeau() && map.cases[i][j].drapeau.joueur != joueurCourant) {
						finDePartie = true;
						joueurGagnant = joueurCourant;
					}
				}
			}
		}
		return finDePartie;
	}

	public void actionsAutomatiques() {
		for (int i = 0; i < map.nbLignes; i++) {
			for (int j = 0; j < map.nbColonnes; j++) {
				if (map.cases[i][j].presenceUnite()) {
					if (map.cases[i][j].unite.joueur == joueurCourant
							&& map.cases[i][j].unite.peutBouger) {
							map.cases[i][j].unite.soigner();					
					}
					map.cases[i][j].unite.recharger();
				}
			}
		}
	}

	public void placementElementPartie() {
		for (int i = 0; i < map.nbLignes; i++) {
			for (int j = 0; j < map.nbColonnes; j++) {
				if (map.cases[i][j].presenceBase() && !map.cases[i][j].terrain.estAquatique && map.cases[i][j].base.joueur == joueur1) {
					map.cases[i][j].drapeau = new Drapeau(joueur1);
				}
				if (map.cases[i][j].presenceBase() && !map.cases[i][j].terrain.estAquatique && map.cases[i][j].base.joueur == joueur2) {
					map.cases[i][j].drapeau = new Drapeau(joueur2);
				}
			}
		}
	}
	
}
